package service

import (
	"seat-service/model"
	"seat-service/model/dto"
)

type BuildingsAdmin interface {
	//SelectBuildingsByCondition 根据条件动态查询楼栋
	SelectBuildingsByCondition(conditions dto.AdminQueryBuildCondition) (count int64, buildingInformations []dto.BuildInformation, err error)
	//AddBuilding 管理员单个新增楼栋
	AddBuilding(newBuildInformation dto.NewBuildInformation) (err error)
	//SelectBuildById 根据id查询楼栋信息
	SelectBuildById(id int) (buildInformation dto.BuildInformation, err error)
	//UpdateBuildData 修改楼栋信息
	UpdateBuildData(building dto.UpdateBuildParams) (newBuildInformation dto.BuildInformation, err error)
	// DeleteByIds 根据id删除楼栋信息
	DeleteByIds(ids dto.DeleteIds) (err error)
	// SelectAllCampus 查询出所有校区信息
	SelectAllCampus() (allCampus []model.Campus, err error)
	// SelectCampusIdByName 根据校区名字 拿到校区id
	SelectCampusIdByName(campusName string) (campusId int, err error)
	// InsertExcelBuildInformations 批量插入楼栋信息
	InsertExcelBuildInformations(builds []model.Building) (errBuilds []model.Building, err error)
}
